package cn.tedu.net.collection.oopstatic;
//本类用于多态中元素的测试
public class Test6_Polymorphic {
    public static void main(String[] args) {
        Dog2 d =new Dog2();
        System.out.println(d.sum);
        d.eat();
        d.play();

        Animal2 a =new Dog2();
        //多态中成员变量用的是父类的
        System.out.println(a.sum);
        //多态当中 成员方法 使用的是 父类的声明 子类的实现
        a.eat();
        a.play();//静态方法随着类的加载而加载 调用谁 使用谁  多态中就使用父类的
    }
}
class Animal2{
    //创建成员变量和成员方法
    int sum =10;
    public void eat(){
        System.out.println("吃啥都行");
    }
    public static void play(){
        System.out.println("玩啥都行");
    }
}
/*
总结:多态的前提是继承加重写
 */
class Dog2 extends Animal2{
    int sum =20;
    @Override
    public void eat(){
        System.out.println("小狗爱吃肉骨头");
    }
    public static void play(){
        System.out.println("小狗爱打滚");
    }
}